
<!doctype html>
<html lang='en'>
  <head>
    <title>TestElectionBasic -- PASS</title>
  </head>
  <style>
  table {
    font-family: "Courier New";
    border-collapse: collapse;
  }

  table, th, td {
    padding: 8px;
    border: 1px solid #cccccc;
  }

  td.testcell {
    background-color: #ffffff;
  }

  td.Follower {
    background-color: #ffffff;
  }

  td.Candidate {
    background-color: #e2e2a3;
  }

  td.Leader {
    background-color: #e6fff5;
  }

  td.Dead {
    background-color: #dddddd;
  }

  h1 {
    text-align: center;
  }
  </style>
<body>
  <h1>TestElectionBasic -- PASS</h1>
  <p></p>
  <table>
    <tr>
      
      <th>Time</th>
      
      <th>TEST</th>
      
      <th>0</th>
      
      <th>1</th>
      
      <th>2</th>
      
    </tr>
    
    <tr>
      <td>20:36:57.045261</td>  <td class="testcell"></td>  <td class="Follower">listening at [::]:58333</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.046011</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">listening at [::]:58334</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.046145</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Follower">listening at [::]:58335</td>
    </tr>
    
    <tr>
      <td>20:36:57.047233</td>  <td class="testcell"></td>  <td class="Follower">election timer started (164ms), term=0</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.047712</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">election timer started (201ms), term=0</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.048143</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Follower">election timer started (184ms), term=0</td>
    </tr>
    
    <tr>
      <td>20:36:57.218461</td>  <td class="testcell"></td>  <td class="Candidate">becomes Candidate(currentTerm=1); log=[]</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.218544</td>  <td class="testcell"></td>  <td class="Candidate">election timer started (274ms), term=1</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.218553</td>  <td class="testcell"></td>  <td class="Candidate">send RequestVoteRequest to 1: {Term:1 CandidateId:0 LastLogIndex:0 LastLogTerm:0}</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.218567</td>  <td class="testcell"></td>  <td class="Candidate">send RequestVoteRequest to 2: {Term:1 CandidateId:0 LastLogIndex:0 LastLogTerm:0}</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.220632</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">RequestVote: {Term:1 CandidateId:0 LastLogIndex:0 LastLogTerm:0} [currentTerm=0, voteFor=-1]</td>
    </tr>
    
    <tr>
      <td>20:36:57.220631</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">RequestVote: {Term:1 CandidateId:0 LastLogIndex:0 LastLogTerm:0} [currentTerm=0, voteFor=-1]</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.220663</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">...term out of date in RequestVote</td>
    </tr>
    
    <tr>
      <td>20:36:57.220674</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">...term out of date in RequestVote</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.220683</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">...RequestVote reply: &{Term:1 VoteGranted:true}</td>
    </tr>
    
    <tr>
      <td>20:36:57.220690</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">...RequestVote reply: &{Term:1 VoteGranted:true}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.220749</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">election timer started (245ms), term=1</td>
    </tr>
    
    <tr>
      <td>20:36:57.220760</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">election timer started (227ms), term=1</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.221058</td>  <td class="testcell"></td>  <td class="Candidate">received RequestVoteReply from 2, {Term:1 CandidateId:0 LastLogIndex:0 LastLogTerm:0}</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.221083</td>  <td class="testcell"></td>  <td class="Candidate">wins election! Get 2 votes</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.221094</td>  <td class="testcell"></td>  <td class="Candidate">become a Leader, term=1, entries = []</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.221218</td>  <td class="testcell"></td>  <td class="Candidate">received RequestVoteReply from 1, {Term:1 CandidateId:0 LastLogIndex:0 LastLogTerm:0}</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.221247</td>  <td class="testcell"></td>  <td class="Candidate">state changed, state=[Leader]</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.225002</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">Append Log entry = {Term:1 LeaderId:0 PrevLogIndex:0 PrevLogTerm:0 Entries:[] LeaderCommit:0}</td>
    </tr>
    
    <tr>
      <td>20:36:57.225043</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">reply is {Term:1 Success:true}</td>
    </tr>
    
    <tr>
      <td>20:36:57.225248</td>  <td class="testcell"></td>  <td class="Candidate">send Entry: [] at term=1, from 0 to 2</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.225653</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">Append Log entry = {Term:1 LeaderId:0 PrevLogIndex:0 PrevLogTerm:0 Entries:[] LeaderCommit:0}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.225688</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">reply is {Term:1 Success:true}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.225843</td>  <td class="testcell"></td>  <td class="Candidate">send Entry: [] at term=1, from 0 to 1</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.228066</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">in election timer term changed, from 0 to 1, bailing out</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.228215</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">in election timer term changed, from 0 to 1, bailing out</td>
    </tr>
    
    <tr>
      <td>20:36:57.228657</td>  <td class="testcell"></td>  <td class="Candidate">in election timer state = Leader, bailing out</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.273374</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">Append Log entry = {Term:1 LeaderId:0 PrevLogIndex:0 PrevLogTerm:0 Entries:[] LeaderCommit:0}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.273452</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">reply is {Term:1 Success:true}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.273636</td>  <td class="testcell"></td>  <td class="Candidate">send Entry: [] at term=1, from 0 to 1</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.276571</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">Append Log entry = {Term:1 LeaderId:0 PrevLogIndex:0 PrevLogTerm:0 Entries:[] LeaderCommit:0}</td>
    </tr>
    
    <tr>
      <td>20:36:57.276636</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">reply is {Term:1 Success:true}</td>
    </tr>
    
    <tr>
      <td>20:36:57.276784</td>  <td class="testcell"></td>  <td class="Candidate">send Entry: [] at term=1, from 0 to 2</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.325568</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">Append Log entry = {Term:1 LeaderId:0 PrevLogIndex:0 PrevLogTerm:0 Entries:[] LeaderCommit:0}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.325649</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">reply is {Term:1 Success:true}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.325840</td>  <td class="testcell"></td>  <td class="Candidate">send Entry: [] at term=1, from 0 to 1</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.326156</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">Append Log entry = {Term:1 LeaderId:0 PrevLogIndex:0 PrevLogTerm:0 Entries:[] LeaderCommit:0}</td>
    </tr>
    
    <tr>
      <td>20:36:57.326210</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">reply is {Term:1 Success:true}</td>
    </tr>
    
    <tr>
      <td>20:36:57.326372</td>  <td class="testcell"></td>  <td class="Candidate">send Entry: [] at term=1, from 0 to 2</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.349322</td>  <td class="testcell">Found single Leader[id=0 term=1]</td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.349347</td>  <td class="testcell">Shutdown the cluster service...</td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.349622</td>  <td class="testcell"></td>  <td class="Dead">becomes Dead</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.349706</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Dead">becomes Dead</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>20:36:57.349764</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Dead"></td>  <td class="Dead">becomes Dead</td>
    </tr>
    
    <tr>
      <td>20:36:57.350842</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Dead">in election timer state = Dead, bailing out</td>  <td class="Dead"></td>
    </tr>
    
    <tr>
      <td>20:36:57.350849</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Dead"></td>  <td class="Dead">in election timer state = Dead, bailing out</td>
    </tr>
    
  </table>
</body>
</html>
